package com.sl.au.service;

import java.util.List;
import java.util.Map;

import com.sl.au.entity.ArchiveInfo;
import com.sl.au.entity.EventRegister;
import com.sl.au.entity.EventReport;
import com.sl.au.entity.EventTask;
import com.sl.au.repository.ArchiveInfoRepository;

public interface ArchiveInfoService extends BaseService {

	List<ArchiveInfo> getArchivePageByKey(int start, int length, String key, String orderName, String dir);

	List<ArchiveInfo> getArchivePage(int start, int length, String key, String orderName, String dir);

	Integer getArchiveCount(String key);

	void deleteById(String id);

	ArchiveInfoRepository getRepository();

	void saveMany(EventRegister findOne, ArchiveInfo archiveInfo);

	void saveMany(EventRegister findOne, ArchiveInfo archiveInfo, EventTask findOneTask, EventTask reportTask,
			EventReport eventReport);

	void saveMany(EventRegister findOne, EventTask findOneTask, ArchiveInfo archiveInfo);

	List<ArchiveInfo> findArchiveByRegisterId(String eventId);
	
	List<Map<String, Object>> getArchivePageByKeyAndRole(int start, int length, String roleId, String key, String orderName, String dir);
	
	int getArchiveCountByRole(String roleId, String key);

}
